home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 February / CMCD0205.ISO / Software / Freeware / Programare / bluej / bluejsetup-203.exe / {app} / examples / picture / Picture.java < prev    next >
Text File  |  2004-12-19  |  2KB  |  87 lines

  1.  
  2. /**
  3.  * This class represents a simple picture. You can draw the picture using
  4.  * the draw method. But wait, there's more: being an electronic picture, it
  5.  * can be changed. You can set it to black-and-white display and back to
  6.  * colors (only after it's been drawn, of course).
  7.  *
  8.  * This class was written as an early example for teaching Java with BlueJ.
  9.  * 
  10.  * @author    Michael Kolling and David J. Barnes
  11.  * @version 1.1  (24 May 2001)
  12.  */
  13. public class Picture
  14. {
  15.     private Square wall;
  16.     private Square window;
  17.     private Triangle roof;
  18.     private    Circle sun;
  19.  
  20.     /**
  21.      * Constructor for objects of class Picture
  22.      */
  23.     public Picture()
  24.     {
  25.         // nothing to do... instance variables are automatically set to null
  26.     }
  27.  
  28.     /**
  29.      * Draw this picture.
  30.      */
  31.     public void draw()
  32.     {
  33.         wall = new Square();
  34.         wall.moveVertical(80);
  35.         wall.changeSize(100);
  36.         wall.makeVisible();
  37.         
  38.         window = new Square();
  39.         window.changeColor("black");
  40.         window.moveHorizontal(20);
  41.         window.moveVertical(100);
  42.         window.makeVisible();
  43.  
  44.         roof = new Triangle();    
  45.         roof.changeSize(50, 140);
  46.         roof.moveHorizontal(60);
  47.         roof.moveVertical(70);
  48.         roof.makeVisible();
  49.  
  50.         sun = new Circle();
  51.         sun.changeColor("yellow");
  52.         sun.moveHorizontal(180);
  53.         sun.moveVertical(-10);
  54.         sun.changeSize(60);
  55.         sun.makeVisible();
  56.     }
  57.  
  58.     /**
  59.      * Change this picture to black/white display
  60.      */
  61.     public void setBlackAndWhite()
  62.     {
  63.         if(wall != null)   // only if it's painted already...
  64.         {
  65.             wall.changeColor("black");
  66.             window.changeColor("white");
  67.             roof.changeColor("black");
  68.             sun.changeColor("black");
  69.         }
  70.     }
  71.  
  72.     /**
  73.      * Change this picture to use color display
  74.      */
  75.     public void setColor()
  76.     {
  77.         if(wall != null)   // only if it's painted already...
  78.         {
  79.             wall.changeColor("red");
  80.             window.changeColor("black");
  81.             roof.changeColor("green");
  82.             sun.changeColor("yellow");
  83.         }
  84.     }
  85.  
  86. }
  87.